package site.marqstree.smartbutler.ui;

/*
 * 项目名: SmartButler
 * 包名: site.marqstree.smartbutler.ui
 * 文件名: SplashActivity
 * 创建者: marqstree
 * 创建时间: 2019/12/30 9:55
 * 描述: 闪屏页
 */

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import butterknife.BindView;
import site.marqstree.smartbutler.MainActivity;
import site.marqstree.smartbutler.R;
import site.marqstree.smartbutler.util.ShareUtils;
import site.marqstree.smartbutler.util.StaticClass;
import site.marqstree.smartbutler.util.UtilTools;

public class SplashActivity extends AppCompatActivity {

    /**
     * 1.延时2000ms
     * 2.判断程序是否第一次运行
     * 3.自定义字体
     * 4.Activity全屏主题
     */

    //闪屏延时时长(单位：ms)
    private static final int SPLASH_DELAY_TIME = 500;

    TextView tv_splash;

    //处理延时消息
    //判断是否第一次运行App，启动第二个页面
    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
                case StaticClass.HANDLER_SPLASH:
                    //判断程序是否是第一次运行
                    if (isFirst()) {
                        //第一次运行，启动引导页面
                        startActivity(new Intent(SplashActivity.this, GuideActivity.class));
                    } else {
                        //非第一次运行，启动登陆页面
                        startActivity(new Intent(SplashActivity.this, LoginActivity.class));
                    }
                    //退出当前Activity
                    finish();
                    break;
            }
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        initView();
    }
    //初始化View
    private void initView() {
        //发延时消息
        handler.sendEmptyMessageDelayed(StaticClass.HANDLER_SPLASH, SPLASH_DELAY_TIME);
        //设置字体
        tv_splash = findViewById(R.id.tv_splash);
        UtilTools.setFont(this,tv_splash);
    }

    //判断程序是否第一次运行
    private boolean isFirst() {
        boolean isFirst = ShareUtils.getBoolean(this,StaticClass.SHARE_IS_FIRST,true);
        if(isFirst){
            //将已运行过状态写入SharePreference，供下一次运行时使用
            ShareUtils.putBoolean(this,StaticClass.SHARE_IS_FIRST,false);
            //是第一次运行
            return true;
        }else {
            return false;
        }

    }

}
